package Juego.modelo.Recurso;

public class Recurso {
	int Oro, Monedas, Madera, Petroleo, Poblacion, Energia;

	public Recurso(int oro, int monedas, int madera, int petroleo) {
		setOro(oro);
		setMadera(madera);
		setMonedas(monedas);
		setPetroleo(petroleo);
	}

	public Recurso(int oro, int monedas, int madera, int petroleo,
			int poblacion) {
		setOro(oro);
		setMadera(madera);
		setMonedas(monedas);
		setPetroleo(petroleo);
		setPoblacion(poblacion);
	}

	public Recurso(int oro, int monedas, int madera, int petroleo,
			int poblacion , int energia ) {
		setOro(oro);
		setMadera(madera);
		setMonedas(monedas);
		setPetroleo(petroleo);
		setPoblacion(poblacion);
		setEnergia(energia);
	}
	
	public Recurso(Recurso recurso) {
		setOro( recurso.getOro() );
		setMadera( recurso.getMadera() );
		setMonedas( recurso.getMonedas() );
		setPetroleo( recurso.getPetroleo() );
		setPoblacion(recurso.getPoblacion() );
		setEnergia( recurso.getEnergia() );
	}

	public void printInfo(){
		System.out.printf( "Oro : %d Monedas : %d Petroleo : %d Madera : %d\nEnergia : %d Poblacion :%d\n" , 
					getOro() , getMonedas() , getPetroleo() , getMadera() , getEnergia() , getPoblacion() );
	}

	public int getPoblacion() {
		return Poblacion;
	}

	public void setPoblacion(int poblacion) {
		Poblacion = poblacion;
	}

	public int getEnergia() {
		return Energia;
	}

	public void setEnergia(int energia) {
		Energia = energia;
	}

	public int getOro() {
		return Oro;
	}

	private void setOro(int oro) {
		Oro = oro;
	}

	public int getMonedas() {
		return Monedas;
	}

	private void setMonedas(int monedas) {
		Monedas = monedas;
	}

	public int getMadera() {
		return Madera;
	}

	private void setMadera(int madera) {
		Madera = madera;
	}

	public int getPetroleo() {
		return Petroleo;
	}

	private void setPetroleo(int petroleo) {
		Petroleo = petroleo;
	}

	public String validar(Recurso A) {
		String Ans = new String("");
		if (Oro < A.getOro())
			Ans = Ans.concat("Falta Oro\n");
		if (Madera < A.getMadera())
			Ans = Ans.concat("Falta Madera\n");
		if (Petroleo < A.getPetroleo())
			Ans = Ans.concat("Falta Petroleo\n");
		if (Monedas < A.getMonedas())
			Ans = Ans.concat("Faltan Monedas\n");
		if( Energia < A.getEnergia() ) 
			Ans = Ans.concat("Falta Energia \n");
		if( Poblacion < A.getPoblacion() )
			Ans = Ans.concat("Insuficiente Poblacion\n");
		return (String) (Ans.compareTo("") == 0 ? "Todo Ok" : Ans);
	}

	public void add(Recurso A) {
		setMadera(getMadera() + A.getMadera());
		setMonedas(getMonedas() + A.getMonedas());
		setPetroleo(getPetroleo() + A.getPetroleo());
		setOro(getOro() + A.getOro());
	//	setEnergia(getEnergia() + A.getEnergia());
		setPoblacion(getPoblacion() + A.getPoblacion());
	}

	public void minus(Recurso A) {
		setMadera(Math.max( getMadera() - A.getMadera() , 0 ) );
		setMonedas(Math.max( getMonedas() - A.getMonedas() , 0 ) );
		setPetroleo(Math.max( getPetroleo() - A.getPetroleo() , 0 ) );
		setOro( Math.max( getOro() - A.getOro() , 0 ));
	//	setEnergia( Math.max( getEnergia() - A.getEnergia() , 0 ) );
	//	setPoblacion( Math.max( getPoblacion() - A.getPoblacion(), 0 ) );
	}

}
